//初始化界面
$(function () {
    initTableData();
    ininPager();
    initForm();
});

var id;

//防止表单提交重复
function initForm() {
    $('#materialPropertyFM').form({
        onSubmit: function () {
            return false;
        }
    });
}

//初始化表格数据
function initTableData() {
    $('#tableData').datagrid({
        height: heightInfo,
        nowrap: false,
        rownumbers: true,
        //动画效果
        animate: false,
        //选中单行
        singleSelect: true,
        collapsible: false,
        selectOnCheck: false,
        //fitColumns:true,
        //单击行是否选中
        //checkOnSelect : false,
        url: baseURL+'/sys/materialproperty/findBy?pageSize=' + initPageSize,
        pagination: false,
        //交替出现背景
        striped: true,
        //loadFilter: pagerFilter,
        columns: [[
            {field: 'id', width: 10, align: "center", hidden: true},
            {title: '名称', field: 'nativename', width: 100},
            {
                title: '是否启用', field: 'enabled', width: 100, formatter: function (value, rec) {
                    if (rec.enabled) {
                        return "启用";
                    }
                    else {
                        return "禁用";
                    }
                }
            },
            {title: '排序', field: 'sort', width: 100},
            {title: '别名', field: 'anothername', width: 100},
            {
                title: '操作', field: 'op', align: "center", width: 80, formatter: function (value, rec) {
                    var str = '';
                    var rowInfo = rec.id + 'AaBb' + rec.nativename + 'AaBb' + rec.enabled + 'AaBb' + rec.sort + 'AaBb' + rec.anothername;
                    str += '<img src="'+baseURL+'/statics/plugins/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterialProperty(\'' + rowInfo + '\');"/>&nbsp;<a onclick="editMaterialProperty(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a>&nbsp;&nbsp;';
                    return str;
                }
            }
        ]],
        onLoadError: function () {
            $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
            return;
        }
    });
}

//初始化键盘enter事件
$(document).keydown(function (event) {
    //兼容 IE和firefox 事件
    var e = window.event || event;
    var k = e.keyCode || e.which || e.charCode;
    //兼容 IE,firefox 兼容
    var obj = e.srcElement ? e.srcElement : e.target;
    //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
    if (k == "13" && (obj.id == "nativeName")) {
        $("#saveMaterialProperty").click();
    }
    //搜索按钮添加快捷键
    if (k == "13" && (obj.id == "searchNativeName")) {
        $("#searchBtn").click();
    }
});

//分页信息处理
function ininPager() {
    try {
        var opts = $("#tableData").datagrid('options');
        var pager = $("#tableData").datagrid('getPager');
        pager.pagination({
            onSelectPage: function (pageNum, pageSize) {
                opts.pageNumber = pageNum;
                opts.pageSize = pageSize;
                pager.pagination('refresh', {
                    pageNumber: pageNum,
                    pageSize: pageSize
                });
                showMaterialPropertyDetails(pageNum, pageSize);
            }
        });
    }
    catch (e) {
        $.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
    }
}

//增加
var url;

//保存信息
$("#saveMaterialProperty").unbind().bind({
    click: function () {
        if (!$('#materialPropertyFM').form('validate'))
            return;
        else {
            $.ajax({
                type: "post",
                url: url,
                dataType: "json",
                async: false,
                contentType:'application/json',
                data: JSON.stringify({
                    nativename: $.trim($("#nativeName").val()),
                    enabled: $("#enabled").is(':checked'),
                    sort: $.trim($("#sort").val()),
                    anothername: $.trim($("#anotherName").val()),
                    id:id
                }),
                success: function (tipInfo) {
                    if (tipInfo) {
                        $('#materialPropertyDlg').dialog('close');
                        var opts = $("#tableData").datagrid('options');
                        showMaterialPropertyDetails(opts.pageNumber, opts.pageSize);
                    }
                    else {
                        $.messager.show({
                            title: '错误提示',
                            msg: '保存商品属性失败，请稍后重试!'
                        });
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('提示', '保存商品属性异常，请稍后再试！', 'error');
                    return;
                }
            });
        }
    }
});

//编辑信息
function editMaterialProperty(totalInfo) {
    var materialPropertyInfo = totalInfo.split("AaBb");

    $("#nativeName").text(materialPropertyInfo[1]);
    $("#enabled").attr("checked", materialPropertyInfo[2] == 'true' ? true : false);
    $("#sort").val(materialPropertyInfo[3]);
    $("#anotherName").val(materialPropertyInfo[4]);

    $('#materialPropertyDlg').dialog('open').dialog('setTitle', '<img src="'+baseURL+'/statics/plugins/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;编辑商品属性');
    $(".window-mask").css({width: webW, height: webH});
    //焦点在名称输入框==定焦在输入文字后面
    $("#nativeName").val("").focus().val(materialPropertyInfo[1]);
    id=materialPropertyInfo[0];
    url = baseURL+'/sys/materialproperty/update?id=' + materialPropertyInfo[0];
}

//搜索处理
$("#searchBtn").unbind().bind({
    click: function () {
        showMaterialPropertyDetails(1, initPageSize);
        var opts = $("#tableData").datagrid('options');
        var pager = $("#tableData").datagrid('getPager');
        opts.pageNumber = 1;
        opts.pageSize = initPageSize;
        pager.pagination('refresh', {
            pageNumber: 1,
            pageSize: initPageSize
        });
    }
});

function showMaterialPropertyDetails(pageNo, pageSize) {
    $.ajax({
        type: "post",
        url: baseURL+"/sys/materialproperty/findBy",
        dataType: "json",
        data: ({
            nativeName: $.trim($("#searchNativeName").val()),
            pageNo: pageNo,
            pageSize: pageSize
        }),
        success: function (data) {
            $("#tableData").datagrid('loadData', data);
        },
        //此处添加错误处理
        error: function () {
            $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
            return;
        }
    });
}

//重置按钮
$("#searchResetBtn").off().on("click", function () {
    $("#searchNativeName").val("");
    //加载完以后重新初始化
    $("#searchBtn").click();
});
